<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>23 $WATCH</title>
    <link rel="stylesheet" href="../../lib/bootstrap3/css/bootstrap.min.css">
    <link rel="stylesheet" href="../../lib/bootstrap3/css/dashboard.css">
    <script src="../../lib/angularjs/angular.js"></script>
</head>
<body>
<div class="well">
    <h3>$watchCollectiion()函数接受2个参数。</h3>
    <div class="list-group">
        <a href="#" class="list-group-item ">
            <h4 class="list-group-item-heading">参数1：obj（字符串/函数）</h4>
            <p class="list-group-item-text">
                这个对象就是一个要监控的对象。如果传入一个字符串，它将被当作Angular表达式求值。
                如果传入的是一个函数，将在当前作用域中被调用，并且会返回要监控的值。
            </p>
        </a>
        <a href="#" class="list-group-item ">
            <h4 class="list-group-item-heading">参数2：listener（函数）</h4>
            <p class="list-group-item-text">
                这个回调函数会在集合发生变化时触发。类似于$watch函数，这个函数会被来自$watch的
                新集合触发调用，而原来的集合（先前集合的副本）以及所在的作用域也随之生效。
            </p>
        </a>
    </div>
</div>
<div class="well">
    $watchConllection()函数也返回一个注销函数。调用这个注销函数时，也会取消集合上的$watch。
    <xmp>
$scope.$watchCollection('names',
function(newNames, oldNames, scope) {
// names集合已经发生了变化
});
    </xmp>
</div>
</body>
</html>